Algemene informatie

Dit dashboard is ontworpen om energieprijzen en batterijcapaciteiten te vergelijken.
Dit helpt bij het evalueren van:

  • Tarieven van verschillende energieleveranciers
  • Opslagcapaciteit van batterijen en hun impact op kostenbesparing
  • Optimalisatie van verbruik op basis van dynamische prijsmodellen

Hoe dit dashboard te gebruiken?

  • De tab Data visualisatie visualiseert historische data op basis van de digitale meter.
  • De tab Simulatie bevat simulaties van de mogelijke kostprijs onder verschillende scenarios.
    Deze worden bepaald door het type tarief en eventueel het type batterij.

Laatste update: 2026-01-03

  • Versie 1.0     -   31/12/2025:   Test versie met dummy data.

Roggestraat

Historische data - Roggestraat


Voordat we starten met de simulaties, bekijken we eerst de historische gegevens die als basis dienen voor onze analyses. De data is afkomstig van Fluvius digitale meters en heeft een resolutie van 15 minuten (kwartierwaarden). Deze dataset bevat gedetailleerde informatie over het energieverbruik en injectie op huishoudniveau. De data loopt van 2025-12-19 tot 2025-12-31, en vormt het referentiepunt voor het vergelijken van toekomstige scenario’s.

Verbruik en injectie per kwartier


De bovenstaande grafiek toont de tijd (x-as) ten opzichte van verbruik (y-as) en injectie (y-as). Je kunt er interactief mee spelen:

  • Zoomen
    • Scroll met je muis om in of uit te zoomen.
    • Klik en sleep om een specifiek gebied te selecteren.
    • Dubbelklik om terug te keren naar de oorspronkelijke schaal.
  • Hover voor details
    • Beweeg je muis over de lijnen om exacte waarden (tijd en kWh) te zien.
  • Legenda gebruiken
    • Klik op een item in de legenda om die lijn te verbergen of weer te tonen.
    • Dubbelklik op een item om alleen die lijn te tonen.
  • Knoppen voor tijdsperiode
    • Gebruik de knoppen bovenaan om snel een periode te kiezen:
      Laatste 3 maanden, Laatste maand, Laatste week, of Alles.

Roggestraat

Evolutie van energiekosten per batterijconfiguratie


Batterij capaciteit

Uitleg

Redenering achter de simulatie studie


1) Context en doel

Deze berekening vormt de basis van de simulaties.
Het doel is om de energiekost per tijdsinterval te bepalen, rekening houdend met:

  • Netto-afname van het net
  • Tariefstructuur (bv. vast, variabel of dinamisch tarief)
  • Injectie via zonnepanelen
  • Eventuele batterijlogica (laden/ontladen)

2) Netto-effect en tekens

  • Verbruik > Injectie     →     positieve kost (netto afname).
  • Injectie > Verbruik     →     negatieve kost (credit).
  • Gelijk     →     kost = 0.

3) Formule per tijdsinterval

De energiekost wordt berekend met:

\[ \text{Kostprijs}_{t} = \big(\text{Verbruik}_{t} - \text{Injectie}_{t}\big) \times \text{Tarief}_{t} \]

Definities:

  • \(\text{Verbruik}_{t}\):    elektriciteit afgenomen van het net (kWh).
  • \(\text{Injectie}_{t}\):    elektriciteit teruggeleverd aan het net (kWh).
  • \(\text{Tarief}_{t}\):    prijs per kWh (€, bv. Vast tarief).

Zie hieronder de desbetreffende functie die gebruikt wordt voor de berekeningen.

################################################################################
#
# Energycost Ecopower
#
################################################################################


energy_cost_ecopower <- function(verbruik , tijd , tarief){
  
  
  ### Vast tarief ecopower
  #-----------------------
  if(tarief == "vast"){
    
    
    ### Verbruik
    #-----------
    if(verbruik > 0){
      output = 0.1187 * verbruik
    }
    
    
    ### Injectie
    #-----------
    if(verbruik <= 0){
      output = 0.02 * verbruik
    }
  }
  
  
  ### Variabel tarief ecopower
  #---------------------------
  if(tarief == "variabel"){
    output <- -80   # nog onzin
  }
  
  
  ### Dynamisch tarief ecopower
  #----------------------------
  if(tarief == "dynamisch"){
    
  }
  
  
  return(output)
}

4) Batterijlogica

De batterij beïnvloedt de netto-afname:

  • Laden bij overschot     →     minder injectie naar het net.
  • Ontladen bij tekort     →     minder verbruik van het net.

Hieronder is de functie gegeven om de invloed van een batterij mee in rekening te nemen.

################################################################################
#
# Battery simulation
#
################################################################################


simulate_battery <- function(data, batt_cap = 0, tarief = "vast", energie_kost = energy_cost_ecopower) {
  # data: dataframe 
  # batt_cap: 0,5,10 kWh
  # tarief: "vast" of "variabel" of "dynamisch"
  # energie_kost: 
  
  
  n <- nrow(data)
  Batt <- numeric(n)
  Batt_diff <- numeric(n)
  kost <- numeric(n)
  
  for (i in 1:(n - 1)) {
    
    ### Define the difference
    #------------------------
    diff <- data$Verbruik[i] - data$Injectie[i]
    
    
    ### Meer verbuik dan productie
    #-----------------------------
    if (diff > 0) {
      
      
      ### Energie gebruikt van de batterij
      #-----------------------------------
      used_from_batt <- min(diff, Batt[i])
      
      
      ### Update batterij capaciteit
      #-----------------------------
      Batt[i + 1] <- Batt[i] - used_from_batt
      
      
      ### Overige energie die van het net komt
      #---------------------------------------
      remaining <- diff - used_from_batt    # 0 of >0
      
      
      ### Definieer de kost voor net energie
      #-------------------------------------
      if (remaining > 0) {
        kost[i + 1] <- kost[i] + energie_kost(remaining, data$start_time[i], tarief)
      }
      else{
        kost[i+1] <- kost[i]
      }
    }
    
    
    ### Meer geproduceerd dan vebruikt
    #---------------------------------
    if (diff <= 0) {
      
      
      ### Verschil dat kan worden opgeslagen
      #-------------------------------------
      surplus <- abs(diff)
      
      
      ### Capaciteit beschikbaar om op te slagen
      #-----------------------------------------
      space <- batt_cap - Batt[i]  # remaining battery capacity
      stored <- min(surplus, space)  # store only what fits
      
      
      ### Update nieuwe batterij capaciteit
      #------------------------------------
      Batt[i + 1] <- Batt[i] + stored
      
      
      ### Overge energie
      #-----------------
      remaining <- surplus - stored
      
      
      ### Optional sell surplus back to net
      #------------------------------------
      if (remaining > 0) {
        kost[i+1] <- kost[i] + energie_kost(-remaining, data$start_time[i], tarief) # Klopt deze functie???
      }
      else{
        kost[i+1] <- kost[i]
      }
    }
  }
  
  
  return(
    tibble(
    start_time = data$start_time,
    Verbruik = data$Verbruik,
    Injectie = data$Injectie,
    Batt_kWh = Batt,
    Batt_diff_kWh = c(NA, diff(Batt)),
    Kostprijs = kost,
    Type = factor(batt_cap),
    Tarief = tarief
  ))
}

5) Totale kost over een periode

Sommeer alle intervalkosten:

\[ \text{Totale kost} = \sum_{t \in \text{periode}} \text{Kostprijs}_{t} \]

6) Aannames

  • Intervalduur:   15 minuten.
  • Tarief:   lineair per kWh (geen vaste kosten).
  • Negatieve kost bij injectie = credit.
  • Batterijrendement niet gemodelleerd.